package ro.isdc.vms.party.domain;

import ro.isdc.vms.misc.domain.GeoCoordinate;

/**
 * A postal address.
 * 
 * @author Andrei Chirila / ISDC! Romania
 * @version 1.0.0
 * @date Jul 29, 2009
 */
public class PostalAddress extends ContactAddress {
	
	/**
	 * Generated Serial Version UID
	 */
	private static final long serialVersionUID = -7056784710808357325L;

	/**
	 * First address line e.g. for c/o or house name data.
	 */
	private String addressLine1;

	/**
	 * Also: house number.
	 */
	private String buildingNumber;

	private String buildingName;

	/**
	 * Additional building internal location details, e.g. floor number,
	 * section.
	 */
	private String buildingSection;

	/**
	 * Country
	 */
	private String country;

	/**
	 * The geographical coordinates of this physical location.
	 */
	private GeoCoordinate geoCodes;

	/**
	 * ZIP code, PLZ
	 */
	private String postCode;

	/**
	 * Postfach
	 */
	private String postOfficeBox;

	/**
	 * Street name
	 */
	private String street;

	/**
	 * Street number.
	 */
	private String streetNumber;

	/**
	 * The town.
	 */
	private String town;

	/**
	 * @return the addressLine1
	 */
	public String getAddressLine1() {
		return addressLine1;
	}

	/**
	 * @param addressLine1
	 *            the addressLine1 to set
	 */
	public void setAddressLine1(final String addressLine1) {
		this.addressLine1 = addressLine1;
	}

	/**
	 * @return the buildingNumber
	 */
	public String getBuildingNumber() {
		return buildingNumber;
	}

	/**
	 * @param buildingNumber
	 *            the buildingNumber to set
	 */
	public void setBuildingNumber(final String buildingNumber) {
		this.buildingNumber = buildingNumber;
	}

	/**
	 * @return the buildingName
	 */
	public String getBuildingName() {
		return buildingName;
	}

	/**
	 * @param buildingName
	 *            the buildingName to set
	 */
	public void setBuildingName(final String buildingName) {
		this.buildingName = buildingName;
	}

	/**
	 * @return the buildingSection
	 */
	public String getBuildingSection() {
		return buildingSection;
	}

	/**
	 * @param buildingSection
	 *            the buildingSection to set
	 */
	public void setBuildingSection(final String buildingSection) {
		this.buildingSection = buildingSection;
	}

	/**
	 * @return the country
	 */
	public String getCountry() {
		return country;
	}

	/**
	 * @param country
	 *            the country to set
	 */
	public void setCountry(final String country) {
		this.country = country;
	}

	/**
	 * @return the geoCodes
	 */
	public GeoCoordinate getGeoCodes() {
		return geoCodes;
	}

	/**
	 * @param geoCodes
	 *            the geoCodes to set
	 */
	public void setGeoCodes(final GeoCoordinate geoCodes) {
		this.geoCodes = geoCodes;
	}

	/**
	 * @return the postCode
	 */
	public String getPostCode() {
		return postCode;
	}

	/**
	 * @param postCode
	 *            the postCode to set
	 */
	public void setPostCode(final String postCode) {
		this.postCode = postCode;
	}

	/**
	 * @return the postOfficeBox
	 */
	public String getPostOfficeBox() {
		return postOfficeBox;
	}

	/**
	 * @param postOfficeBox
	 *            the postOfficeBox to set
	 */
	public void setPostOfficeBox(final String postOfficeBox) {
		this.postOfficeBox = postOfficeBox;
	}

	/**
	 * @return the street
	 */
	public String getStreet() {
		return street;
	}

	/**
	 * @param street
	 *            the street to set
	 */
	public void setStreet(final String street) {
		this.street = street;
	}

	/**
	 * @return the streetNumber
	 */
	public String getStreetNumber() {
		return streetNumber;
	}

	/**
	 * @param streetNumber
	 *            the streetNumber to set
	 */
	public void setStreetNumber(final String streetNumber) {
		this.streetNumber = streetNumber;
	}

	/**
	 * @return the town
	 */
	public String getTown() {
		return town;
	}

	/**
	 * @param town
	 *            the town to set
	 */
	public void setTown(final String town) {
		this.town = town;
	}
}
